let form = layui.form;
let layer = layui.layer;

form.verify({
    //我们既支持上述函数式的方式，也支持下述数组的形式
    //数组的两个值分别代表：[正则匹配、匹配不符时的提示文字]
    reqpwd: [
        /^[\S]{6,12}$/
        , '密码必须6到12位，且不能出现空格'
    ],

    oldpwd: function (value, item) { //value：表单的值、item：表单的DOM对象
        let oldPwd = $('[name="oldPwd"]').val()

        //如果不想自动弹出默认提示框，可以直接返回 true，这时你可以通过其他任意方式提示（v2.5.7 新增）
        if (value === oldPwd) {
            return '新密码不能和旧密码相同'
        }
    },

    newpwd: function (value, item) { //value：表单的值、item：表单的DOM对象
        let newPwd = $('[name="newPwd"]').val()

        //如果不想自动弹出默认提示框，可以直接返回 true，这时你可以通过其他任意方式提示（v2.5.7 新增）
        if (newPwd !== value) {
            return '两次密码输入的不一致'
        }
    },
})


$('#form').on('submit', function (e) {
    e.preventDefault() // 阻止默认行为

    // 请求中带数据 ==> jQ的serialize方法可以方便的获取到带有name属性的值
    let data = $(this).serialize()

    // axios 请求数据
    axios.post('/my/updatepwd', data).then(({ data: { status, message } }) => {
        if (status !== 0) {
            // 修改密码失败
            return layer.msg(message)
        }
        // 修改密码成功
        layer.msg(message)

        // 清空表单内容(reset()是原生方法 所以将jq转成原生dom)
        $('#form')[0].reset()
    })
})